home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cocktail / reuse.lha / reuse / m2c / Sets.h < prev    next >
C/C++ Source or Header  |  1992-08-18  |  2KB  |  49 lines

  1. #define DEFINITION_Sets
  2.  
  3. #ifndef DEFINITION_IO
  4. #include "IO.h"
  5. #endif
  6.  
  7. typedef struct Sets_1 {
  8.     BITSET A[10000000 + 1];
  9. } Sets_ArrayOfBitset;
  10. typedef void (*Sets_ProcOfCard) ARGS((CARDINAL));
  11. typedef BOOLEAN (*Sets_ProcOfCardToBool) ARGS((CARDINAL));
  12. typedef struct Sets_2 {
  13.     Sets_ArrayOfBitset *BitsetPtr;
  14.     SHORTCARD MaxElmt, LastBitset;
  15.     SHORTINT Card;
  16.     SHORTCARD FirstElmt, LastElmt;
  17. } Sets_tSet;
  18. extern void Sets_MakeSet ARGS((Sets_tSet *Set, CARDINAL MaxSize));
  19. extern void Sets_ReleaseSet ARGS((Sets_tSet *Set));
  20. extern void Sets_Union ARGS((Sets_tSet *Set1, Sets_tSet Set2));
  21. extern void Sets_Difference ARGS((Sets_tSet *Set1, Sets_tSet Set2));
  22. extern void Sets_Intersection ARGS((Sets_tSet *Set1, Sets_tSet Set2));
  23. extern void Sets_SymDiff ARGS((Sets_tSet *Set1, Sets_tSet Set2));
  24. extern void Sets_Complement ARGS((Sets_tSet *Set));
  25. extern void Sets_Include ARGS((Sets_tSet *Set, CARDINAL Elmt));
  26. extern void Sets_Exclude ARGS((Sets_tSet *Set, CARDINAL Elmt));
  27. extern CARDINAL Sets_Card ARGS((Sets_tSet *Set));
  28. extern CARDINAL Sets_Size ARGS((Sets_tSet *Set));
  29. extern CARDINAL Sets_Minimum ARGS((Sets_tSet *Set));
  30. extern CARDINAL Sets_Maximum ARGS((Sets_tSet *Set));
  31. extern CARDINAL Sets_Select ARGS((Sets_tSet *Set));
  32. extern CARDINAL Sets_Extract ARGS((Sets_tSet *Set));
  33. extern BOOLEAN Sets_IsSubset ARGS((Sets_tSet Set1, Sets_tSet Set2));
  34. extern BOOLEAN Sets_IsStrictSubset ARGS((Sets_tSet Set1, Sets_tSet Set2));
  35. extern BOOLEAN Sets_IsEqual ARGS((Sets_tSet *Set1, Sets_tSet *Set2));
  36. extern BOOLEAN Sets_IsNotEqual ARGS((Sets_tSet Set1, Sets_tSet Set2));
  37. extern BOOLEAN Sets_IsElement ARGS((CARDINAL Elmt, Sets_tSet *Set));
  38. extern BOOLEAN Sets_IsEmpty ARGS((Sets_tSet Set));
  39. extern BOOLEAN Sets_Forall ARGS((Sets_tSet Set, Sets_ProcOfCardToBool Proc));
  40. extern BOOLEAN Sets_Exists ARGS((Sets_tSet Set, Sets_ProcOfCardToBool Proc));
  41. extern BOOLEAN Sets_Exists1 ARGS((Sets_tSet Set, Sets_ProcOfCardToBool Proc));
  42. extern void Sets_Assign ARGS((Sets_tSet *Set1, Sets_tSet Set2));
  43. extern void Sets_AssignElmt ARGS((Sets_tSet *Set, CARDINAL Elmt));
  44. extern void Sets_AssignEmpty ARGS((Sets_tSet *Set));
  45. extern void Sets_ForallDo ARGS((Sets_tSet Set, Sets_ProcOfCard Proc));
  46. extern void Sets_ReadSet ARGS((IO_tFile f, Sets_tSet *Set));
  47. extern void Sets_WriteSet ARGS((IO_tFile f, Sets_tSet Set));
  48. extern void BEGIN_Sets();
  49.